Web log de Serge Boisse
On line depuis 1992 !
Voir aussi:
Il s'agit de créer un "observateur" de bas niveau qui reçoit en entrée un flux de percepts issus d'un capteur (unique dans notre cas), et qui pourra alerter des "clients" sur certains phénomènes auxquels ils seront abonnés.
C'est assez voisin de ce que fait le module javascript (timeseries-analysis) qui semble incroyable notamment pour les prédictions, à ceci-près que ici on voudrait faire une analyse temps réel.
Donc, les réels. Notre percept devra prendre en entrée un flux de nombres réels, et :
C'est le nombre de données à conserver. Il peut être prédéfini à la création du percept, ou (mieux) être "infini". Dans ce cas les données anciennes auront un poids décroissant. et pourront même, être remplacées par leur moyenne et écart type, ou, mieux encore, par une fonction "best fit". L'idéal semble une pondération exponentielle...
Mais attention à ne pas se révéler trop sensible aux données récentes : le fait de figer progressivement certaines variables est un processus d'apprentissage qu'il ne faut pas négliger.
Un flux de nombre réels. Typiquement, notre analyseur de perception "percept" sera un objet avec une méthode nouveau_percepy(x : réel)
, et l'objet appellera des callbacks en fonction des abonnements qu'il aura eu précédemment.
Donc ce qu'on fait en gros, c'est mettre à jour une série temporelle à chaque nouvelle donnée reçue, et faire une analyse. Time serie (page web)
Attention ⚠
L'entrée étant une série temporelle, il est souvent nécessaire de la régulariser (intervalle de temps constant entre chaque point consécutif).
Pire, notre percept ne prend en entrée que le flux de valeurs
Lorsqu' une série de donnée arrive entre deux tics, on leur associera un
Elle peut être déclenchée par :
Un client peut ainsi demander à recevoir un "rapport" :
Soit
On calcule la moyenne mobile (simple) à un instant donné sur les
Suivi de l'écart-type:
Pour détecter les données "extrêmes", On s'inspirera des bandes de Bollinger
Le paramètre
écart max à la moyenne | proportion des valeurs |
---|---|
38.29% | |
68.27% | |
95,45 % | |
99,73% | |
99,99936% |
Donc OK pour la détection des variation brusques et donnée hors limite.
Pour les tendances globales, c'est plus compliqué. Un moyen de le faire est de couper l'horizon temporel en deux, et de comparer les deux moyennes
Pour la stabilité relative, on pourrait aussi comparer la moyenne et l'écart-type : Intuitivement, si
Pa contre, Toujours en coupant en deux l'intervalle horizon, si
Une autre méthode est d'utiliser une régression linéaire :
Le principe est de considérer nos percepts comme proche d'une droite :
si
plus
Pour la détection de boucles, il faudra faire attention à l'incertitude qui peut exister sur les données.
Un moyen de le faire est de discrétiser le signal et de faire alors une recherche de boucle sur un flux en nombres entiers, ce qui est un autre percept...
Ou alors une FFT ?
Auto-ajustement de la sensibilité ? de la durée à conserver ?
oscillations et boucles ?
FFT ?
Commentaires (0) :
Page :Ajouter un commentaire (pas besoin de s'enregistrer)
En cliquant sur le bouton "Envoyer" vous acceptez les conditions suivantes : Ne pas poster de message injurieux, obscène ou contraire à la loi, ni de liens vers de tels sites. Respecter la "netiquette", ne pas usurper le pseudo d'une autre personne, respecter les posts faits par les autres. L'auteur du site se réserve le droit de supprimer un ou plusieurs posts à tout moment. Merci !Ah oui : le bbcode et le html genre <br>, <a href=...>, <b>b etc. ne fonctionnent pas dans les commentaires. C'est voulu.